<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leaf Open UTAU Qt: VoiceBankHandler类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Leaf Open UTAU Qt
   </div>
   <div id="projectbrief">UTAU的简单开源实现之一</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">类</a> &#124;
<a href="#pub-types">Public 类型</a> &#124;
<a href="#signals">信号</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pub-static-methods">静态 Public 成员函数</a> &#124;
<a href="class_voice_bank_handler-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">VoiceBankHandler类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p>用于管理一系列VoiceBank。  
 <a href="class_voice_bank_handler.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="voicebankhandler_8h_source.html">voicebankhandler.h</a>&gt;</code></p>
<div class="dynheader">
类 VoiceBankHandler 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_voice_bank_handler.png" alt=""/>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
类</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler_1_1_voice_bank_read_fuction_runner.html">VoiceBankReadFuctionRunner</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 读取线程的执行者  <a href="class_voice_bank_handler_1_1_voice_bank_read_fuction_runner.html#details">更多...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:ab5d3b76a0d5e81eceac3221cfc9115f5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#ab5d3b76a0d5e81eceac3221cfc9115f5">SortableInformationID</a> { <a class="el" href="class_voice_bank_handler.html#ab5d3b76a0d5e81eceac3221cfc9115f5a49ee3087348e8d44e1feda1917443987">SortableInformationID::Name</a>, 
<a class="el" href="class_voice_bank_handler.html#ab5d3b76a0d5e81eceac3221cfc9115f5aac70412e939d72a9234cdebb1af5867b">SortableInformationID::Path</a>
 }</td></tr>
<tr class="memdesc:ab5d3b76a0d5e81eceac3221cfc9115f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">可供排序的信息列列表  <a href="class_voice_bank_handler.html#ab5d3b76a0d5e81eceac3221cfc9115f5">更多...</a><br /></td></tr>
<tr class="separator:ab5d3b76a0d5e81eceac3221cfc9115f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a>
信号</h2></td></tr>
<tr class="memitem:a2245b6b5fd65a282cc9c5eb5675bbf23"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a2245b6b5fd65a282cc9c5eb5675bbf23">aVoiceBankReadDone</a> (<a class="el" href="class_voice_bank.html">VoiceBank</a> *voicebank)</td></tr>
<tr class="memdesc:a2245b6b5fd65a282cc9c5eb5675bbf23"><td class="mdescLeft">&#160;</td><td class="mdescRight">一个 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 读取完毕。  <a href="#a2245b6b5fd65a282cc9c5eb5675bbf23">更多...</a><br /></td></tr>
<tr class="separator:a2245b6b5fd65a282cc9c5eb5675bbf23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13db4fe0243d788286cfd16a7cffc6d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a13db4fe0243d788286cfd16a7cffc6d5">backupImageFileBecauseExists</a> (<a class="el" href="class_voice_bank.html">VoiceBank</a> *voicebank)</td></tr>
<tr class="memdesc:a13db4fe0243d788286cfd16a7cffc6d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">修改 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的 image 时由于原本已经存在一个 image 所以实施了备份  <a href="#a13db4fe0243d788286cfd16a7cffc6d5">更多...</a><br /></td></tr>
<tr class="separator:a13db4fe0243d788286cfd16a7cffc6d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba55d1a94019cf2c965704c52e0114b5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#aba55d1a94019cf2c965704c52e0114b5">cannotBackupImageFile</a> (<a class="el" href="class_voice_bank.html">VoiceBank</a> *voicebank)</td></tr>
<tr class="memdesc:aba55d1a94019cf2c965704c52e0114b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">一个 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 备份 image 时发生了错误  <a href="#aba55d1a94019cf2c965704c52e0114b5">更多...</a><br /></td></tr>
<tr class="separator:aba55d1a94019cf2c965704c52e0114b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4e0f50ba3b3d3cbe282d276c96b9890"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#af4e0f50ba3b3d3cbe282d276c96b9890">categoriesChanged</a> ()</td></tr>
<tr class="memdesc:af4e0f50ba3b3d3cbe282d276c96b9890"><td class="mdescLeft">&#160;</td><td class="mdescRight">管理的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的分类发生了改变  <a href="#af4e0f50ba3b3d3cbe282d276c96b9890">更多...</a><br /></td></tr>
<tr class="separator:af4e0f50ba3b3d3cbe282d276c96b9890"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3df32590a368ed7b16c93e436e66183d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a3df32590a368ed7b16c93e436e66183d">labelsChanged</a> ()</td></tr>
<tr class="memdesc:a3df32590a368ed7b16c93e436e66183d"><td class="mdescLeft">&#160;</td><td class="mdescRight">管理的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的标签发生了改变  <a href="#a3df32590a368ed7b16c93e436e66183d">更多...</a><br /></td></tr>
<tr class="separator:a3df32590a368ed7b16c93e436e66183d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac82de8ec4098cc8e9adfb54f8ac114da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#ac82de8ec4098cc8e9adfb54f8ac114da">categroiesAndLabelsChanged</a> ()</td></tr>
<tr class="memdesc:ac82de8ec4098cc8e9adfb54f8ac114da"><td class="mdescLeft">&#160;</td><td class="mdescRight">管理的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的目录或标签发生了改变  <a href="#ac82de8ec4098cc8e9adfb54f8ac114da">更多...</a><br /></td></tr>
<tr class="separator:ac82de8ec4098cc8e9adfb54f8ac114da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af201cba426bff64f22cf61aa405f5ad0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#af201cba426bff64f22cf61aa405f5ad0">useOldFolderScanChanged</a> ()</td></tr>
<tr class="memdesc:af201cba426bff64f22cf61aa405f5ad0"><td class="mdescLeft">&#160;</td><td class="mdescRight">“是否使用文件夹扫描策略”发生了改变  <a href="#af201cba426bff64f22cf61aa405f5ad0">更多...</a><br /></td></tr>
<tr class="separator:af201cba426bff64f22cf61aa405f5ad0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a695058e6e01941261beb305d8e633e97"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a695058e6e01941261beb305d8e633e97">voiceBanksReadDone</a> ()</td></tr>
<tr class="memdesc:a695058e6e01941261beb305d8e633e97"><td class="mdescLeft">&#160;</td><td class="mdescRight">所有 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 都已经读取完毕  <a href="#a695058e6e01941261beb305d8e633e97">更多...</a><br /></td></tr>
<tr class="separator:a695058e6e01941261beb305d8e633e97"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a6dc9cfe8df30dbdf34470a2fd0a21f3c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a6dc9cfe8df30dbdf34470a2fd0a21f3c">~VoiceBankHandler</a> ()</td></tr>
<tr class="separator:a6dc9cfe8df30dbdf34470a2fd0a21f3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a256ecd28588492543c58c81e5de9cc7a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a256ecd28588492543c58c81e5de9cc7a">readVoiceBanksFromMonitorFolders</a> ()</td></tr>
<tr class="separator:a256ecd28588492543c58c81e5de9cc7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4c8113b0035231fe91ac947ff3f516e"><td class="memItemLeft" align="right" valign="top">QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#af4c8113b0035231fe91ac947ff3f516e">getMonitorFolders</a> ()</td></tr>
<tr class="separator:af4c8113b0035231fe91ac947ff3f516e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe98721a16906dae0e4cc2b171b8a97b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#abe98721a16906dae0e4cc2b171b8a97b">setMonitorFolders</a> (const QStringList &amp;value)</td></tr>
<tr class="separator:abe98721a16906dae0e4cc2b171b8a97b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d4d6bfff7f76537d359893338eec1a8"><td class="memItemLeft" align="right" valign="top">QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a0d4d6bfff7f76537d359893338eec1a8">getOutsideVoiceBankFolders</a> ()</td></tr>
<tr class="separator:a0d4d6bfff7f76537d359893338eec1a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83c27c3593a9219ec1bb93427ac64838"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a83c27c3593a9219ec1bb93427ac64838">setOutsideVoiceBankFolders</a> (const QStringList &amp;value)</td></tr>
<tr class="separator:a83c27c3593a9219ec1bb93427ac64838"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d024fc6eb5ff21c5780434d3361d393"><td class="memItemLeft" align="right" valign="top">QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a0d024fc6eb5ff21c5780434d3361d393">getIgnoreVoiceBankFolders</a> ()</td></tr>
<tr class="separator:a0d024fc6eb5ff21c5780434d3361d393"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e94fa8c8ebe579e3b09e58745b4f47a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a6e94fa8c8ebe579e3b09e58745b4f47a">setIgnoreVoiceBankFolders</a> (const QStringList &amp;value)</td></tr>
<tr class="separator:a6e94fa8c8ebe579e3b09e58745b4f47a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac38cb6b73187e102229ac904500b77a4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#ac38cb6b73187e102229ac904500b77a4">addIgnoreVoiceBankFolder</a> (const QString &amp;path)</td></tr>
<tr class="separator:ac38cb6b73187e102229ac904500b77a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3331895211e1c7195863d7e7f666b8d1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a3331895211e1c7195863d7e7f666b8d1">isUseOldFolderScan</a> ()</td></tr>
<tr class="separator:a3331895211e1c7195863d7e7f666b8d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6ba96b7b6e9b9f0edc46e51bec5d73f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#ac6ba96b7b6e9b9f0edc46e51bec5d73f">setUseOldFolderScan</a> (bool value)</td></tr>
<tr class="separator:ac6ba96b7b6e9b9f0edc46e51bec5d73f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9089baabda67b5bdff0b7341d9446720"><td class="memItemLeft" align="right" valign="top">QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a9089baabda67b5bdff0b7341d9446720">getIgnoredVoiceBankFolders</a> () const</td></tr>
<tr class="separator:a9089baabda67b5bdff0b7341d9446720"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a992b72728aa87cfc35eaf91290b03e8b"><td class="memItemLeft" align="right" valign="top">QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a992b72728aa87cfc35eaf91290b03e8b">getNotVoiceBankPaths</a> () const</td></tr>
<tr class="separator:a992b72728aa87cfc35eaf91290b03e8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae968da025ea5b5b2db605e2ac063de50"><td class="memItemLeft" align="right" valign="top">QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#ae968da025ea5b5b2db605e2ac063de50">getScannedSubFolders</a> () const</td></tr>
<tr class="separator:ae968da025ea5b5b2db605e2ac063de50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9ceb834a99c19975e7b8d578709d4cf"><td class="memItemLeft" align="right" valign="top">QList&lt; <a class="el" href="class_voice_bank.html">VoiceBank</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#ae9ceb834a99c19975e7b8d578709d4cf">getVoiceBanks</a> () const</td></tr>
<tr class="separator:ae9ceb834a99c19975e7b8d578709d4cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac600b49fd4e268a0e79a1a2179723782"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#ac600b49fd4e268a0e79a1a2179723782">addVoiceBank</a> (<a class="el" href="class_voice_bank.html">VoiceBank</a> *newVoiceBank)</td></tr>
<tr class="separator:ac600b49fd4e268a0e79a1a2179723782"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5533ea16d8c802a296dbf65bb4d02a6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_voice_bank.html">VoiceBank</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a5533ea16d8c802a296dbf65bb4d02a6b">addVoiceBank</a> (QString &amp;path)</td></tr>
<tr class="separator:a5533ea16d8c802a296dbf65bb4d02a6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b5db18f3af462a55e1f456f205565cc"><td class="memItemLeft" align="right" valign="top">QList&lt; <a class="el" href="class_voice_bank.html">VoiceBank</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a0b5db18f3af462a55e1f456f205565cc">addVoiceBanks</a> (QStringList &amp;paths)</td></tr>
<tr class="separator:a0b5db18f3af462a55e1f456f205565cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1166cedac9f017ad8f9482dbc06951b0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a1166cedac9f017ad8f9482dbc06951b0">count</a> () const</td></tr>
<tr class="separator:a1166cedac9f017ad8f9482dbc06951b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfaa532d3ce279cf17e15177a697897a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_voice_bank.html">VoiceBank</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#abfaa532d3ce279cf17e15177a697897a">getVoiceBank</a> (int id) const</td></tr>
<tr class="separator:abfaa532d3ce279cf17e15177a697897a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7ca79ae9ef3674e0be3275373dd801d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#af7ca79ae9ef3674e0be3275373dd801d">getVoiceBankID</a> (<a class="el" href="class_voice_bank.html">VoiceBank</a> *voiceBank) const</td></tr>
<tr class="separator:af7ca79ae9ef3674e0be3275373dd801d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ac62074207cf8e9cfd3767f3c8d2c3c"><td class="memItemLeft" align="right" valign="top">QList&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a4ac62074207cf8e9cfd3767f3c8d2c3c">findIDByNameOrPath</a> (const QString &amp;text) const</td></tr>
<tr class="separator:a4ac62074207cf8e9cfd3767f3c8d2c3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afefc02d1ae6614bd953ec588736de376"><td class="memItemLeft" align="right" valign="top">QList&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#afefc02d1ae6614bd953ec588736de376">findIDByCategory</a> (const QString &amp;category) const</td></tr>
<tr class="separator:afefc02d1ae6614bd953ec588736de376"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a050d503d1b13d3e08b64d6f6ccf358b9"><td class="memItemLeft" align="right" valign="top">QList&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a050d503d1b13d3e08b64d6f6ccf358b9">findIDByLabel</a> (const QString &amp;label) const</td></tr>
<tr class="separator:a050d503d1b13d3e08b64d6f6ccf358b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a1eb83fdfb84afd6bc9585534103618"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a4a1eb83fdfb84afd6bc9585534103618">clear</a> ()</td></tr>
<tr class="separator:a4a1eb83fdfb84afd6bc9585534103618"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2859d9e483309cc8144d50493f93586c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a2859d9e483309cc8144d50493f93586c">setThreadPoolMaxThreadCount</a> (int maxCount)</td></tr>
<tr class="separator:a2859d9e483309cc8144d50493f93586c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e5861e9d18b8c0277d8c11067ee04a1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#a5e5861e9d18b8c0277d8c11067ee04a1">getThreadPoolMaxThreadCount</a> () const</td></tr>
<tr class="separator:a5e5861e9d18b8c0277d8c11067ee04a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2df9b8d0f22ba390ae98bfc7e30fd53"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#af2df9b8d0f22ba390ae98bfc7e30fd53">sort</a> (<a class="el" href="class_voice_bank_handler.html#ab5d3b76a0d5e81eceac3221cfc9115f5">SortableInformationID</a> sortWhat, Qt::SortOrder order=Qt::AscendingOrder)</td></tr>
<tr class="separator:af2df9b8d0f22ba390ae98bfc7e30fd53"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
静态 Public 成员函数</h2></td></tr>
<tr class="memitem:aad2a199b2020bec00409b47ec0a0e7c5"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_voice_bank_handler.html">VoiceBankHandler</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_voice_bank_handler.html#aad2a199b2020bec00409b47ec0a0e7c5">getVoiceBankHandler</a> ()</td></tr>
<tr class="separator:aad2a199b2020bec00409b47ec0a0e7c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>用于管理一系列VoiceBank。 </p>
<p><a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 是用于管理 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的类。<br />
<a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 采用单件模式，您不能直接创建，而是通过 <a class="el" href="class_voice_bank_handler.html#aad2a199b2020bec00409b47ec0a0e7c5">getVoiceBankHandler()</a> 来获取其实例。<br />
一般来说，您不需要手动添加 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> ，而是使用 <a class="el" href="class_voice_bank_handler.html#a256ecd28588492543c58c81e5de9cc7a">readVoiceBanksFromMonitorFolders()</a> 来从用户指定的监视文件夹中读取音源库，并自动转化为 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的实例。<br />
它允许在它管理的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 中通过名称、分类、标签等条件查找音源库，详见 <a class="el" href="class_voice_bank_handler.html#a4ac62074207cf8e9cfd3767f3c8d2c3c">findIDByNameOrPath(const QString &amp;text) const </a>、 <a class="el" href="class_voice_bank_handler.html#afefc02d1ae6614bd953ec588736de376">findIDByCategory(const QString &amp;category) const </a>、 <a class="el" href="class_voice_bank_handler.html#a050d503d1b13d3e08b64d6f6ccf358b9">findIDByLabel(const QString &amp;label) const </a> 。<br />
它也允许对内部的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 列表进行排序，详见 <a class="el" href="class_voice_bank_handler.html#af2df9b8d0f22ba390ae98bfc7e30fd53">sort(SortableInformationID sortWhat, Qt::SortOrder order)</a> 。 </p>
</div><h2 class="groupheader">成员枚举类型说明</h2>
<a id="ab5d3b76a0d5e81eceac3221cfc9115f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5d3b76a0d5e81eceac3221cfc9115f5">&#9670;&nbsp;</a></span>SortableInformationID</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="class_voice_bank_handler.html#ab5d3b76a0d5e81eceac3221cfc9115f5">VoiceBankHandler::SortableInformationID</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>可供排序的信息列列表 </p>
<p>该枚举定义了 <a class="el" href="class_voice_bank_handler.html#af2df9b8d0f22ba390ae98bfc7e30fd53">sort(SortableInformationID sortWhat, Qt::SortOrder order)</a> 函数中可以用于排序的信息。 </p><dl class="section see"><dt>参见</dt><dd><a class="el" href="class_voice_bank_handler.html#af2df9b8d0f22ba390ae98bfc7e30fd53">sort</a>(<a class="el" href="class_voice_bank_handler.html#ab5d3b76a0d5e81eceac3221cfc9115f5" title="可供排序的信息列列表">SortableInformationID</a> sortWhat, Qt::SortOrder order = Qt::AscendingOrder) </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">枚举值</th></tr><tr><td class="fieldname"><a id="ab5d3b76a0d5e81eceac3221cfc9115f5a49ee3087348e8d44e1feda1917443987"></a>Name&#160;</td><td class="fielddoc"><p><a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的名称。对应 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的名称。 </p>
</td></tr>
<tr><td class="fieldname"><a id="ab5d3b76a0d5e81eceac3221cfc9115f5aac70412e939d72a9234cdebb1af5867b"></a>Path&#160;</td><td class="fielddoc"><p><a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的路径。对应 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的路径。 </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">构造及析构函数说明</h2>
<a id="a6dc9cfe8df30dbdf34470a2fd0a21f3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6dc9cfe8df30dbdf34470a2fd0a21f3c">&#9670;&nbsp;</a></span>~VoiceBankHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">VoiceBankHandler::~VoiceBankHandler </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 的析构函数。</p>
<p>将由内部的一个辅助类调用以在程序退出时保存相关状态。</p>

</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="ac38cb6b73187e102229ac904500b77a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac38cb6b73187e102229ac904500b77a4">&#9670;&nbsp;</a></span>addIgnoreVoiceBankFolder()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::addIgnoreVoiceBankFolder </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>在忽略文件夹列表中添加一个文件夹</p>
<p>该函数为添加一个文件夹到忽略文件夹列表提供一个方便的途径。 </p><dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>要添加的文件夹路径。</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac600b49fd4e268a0e79a1a2179723782"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac600b49fd4e268a0e79a1a2179723782">&#9670;&nbsp;</a></span>addVoiceBank() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::addVoiceBank </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_voice_bank.html">VoiceBank</a> *&#160;</td>
          <td class="paramname"><em>newVoiceBank</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>将一个 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 交给 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 管理。</p>
<p>更建议使用 <a class="el" href="class_voice_bank_handler.html#a5533ea16d8c802a296dbf65bb4d02a6b">addVoiceBank(QString&amp; path)</a> 。 </p><dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">newVoiceBank</td><td>要交给 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 。</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a5533ea16d8c802a296dbf65bb4d02a6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5533ea16d8c802a296dbf65bb4d02a6b">&#9670;&nbsp;</a></span>addVoiceBank() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_voice_bank.html">VoiceBank</a> * VoiceBankHandler::addVoiceBank </td>
          <td>(</td>
          <td class="paramtype">QString &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>让 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 管理一个路径为 path 的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 。</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>要添加的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的路径。<br />
 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 会自动配置该 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 并读取。<br />
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>新的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的指针。注意，返回时该 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 可能并没有读取完毕。您应当等待 <a class="el" href="class_voice_bank_handler.html#a2245b6b5fd65a282cc9c5eb5675bbf23" title="一个 VoiceBank 读取完毕。">VoiceBankHandler::aVoiceBankReadDone(VoiceBank* voicebank)</a> 信号或 VoiceBank::readDone(VoiceBank *) 被触发后再使用此指针。</dd></dl>

</div>
</div>
<a id="a0b5db18f3af462a55e1f456f205565cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b5db18f3af462a55e1f456f205565cc">&#9670;&nbsp;</a></span>addVoiceBanks()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">QList&lt;<a class="el" href="class_voice_bank.html">VoiceBank</a>*&gt; VoiceBankHandler::addVoiceBanks </td>
          <td>(</td>
          <td class="paramtype">QStringList &amp;&#160;</td>
          <td class="paramname"><em>paths</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>让 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 管理路径在 paths 中的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 。</p>
<p>为了更方便使用而提供，等同于 </p><div class="fragment"><div class="line"><span class="keywordflow">for</span> (<span class="keyword">auto</span> path : paths)</div><div class="line">{</div><div class="line">    <a class="code" href="class_voice_bank_handler.html#ac600b49fd4e268a0e79a1a2179723782">addVoiceBank</a>(path);</div><div class="line">}</div></div><!-- fragment --> <dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">paths</td><td>要添加到 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 中的多个 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的文件夹所在路径列表。 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>添加到 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 的列表。 </dd></dl>
<dl class="section see"><dt>参见</dt><dd><a class="el" href="class_voice_bank_handler.html#a5533ea16d8c802a296dbf65bb4d02a6b">addVoiceBank(QString&amp; path)</a></dd></dl>

</div>
</div>
<a id="a2245b6b5fd65a282cc9c5eb5675bbf23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2245b6b5fd65a282cc9c5eb5675bbf23">&#9670;&nbsp;</a></span>aVoiceBankReadDone</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::aVoiceBankReadDone </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_voice_bank.html">VoiceBank</a> *&#160;</td>
          <td class="paramname"><em>voicebank</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">signal</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>一个 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 读取完毕。 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">voicebank</td><td>读取完毕的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 。 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>参见</dt><dd>VoiceBank::readDone(VoiceBank * voicebank) </dd></dl>

</div>
</div>
<a id="a13db4fe0243d788286cfd16a7cffc6d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13db4fe0243d788286cfd16a7cffc6d5">&#9670;&nbsp;</a></span>backupImageFileBecauseExists</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::backupImageFileBecauseExists </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_voice_bank.html">VoiceBank</a> *&#160;</td>
          <td class="paramname"><em>voicebank</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">signal</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>修改 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的 image 时由于原本已经存在一个 image 所以实施了备份 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">voicebank</td><td>备份了 image 的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 。 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>参见</dt><dd>VoiceBank::backupImageFileBecauseExists(VoiceBank * voicebank) </dd></dl>

</div>
</div>
<a id="aba55d1a94019cf2c965704c52e0114b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba55d1a94019cf2c965704c52e0114b5">&#9670;&nbsp;</a></span>cannotBackupImageFile</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::cannotBackupImageFile </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_voice_bank.html">VoiceBank</a> *&#160;</td>
          <td class="paramname"><em>voicebank</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">signal</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>一个 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 备份 image 时发生了错误 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">voicebank</td><td>备份 image 时出错的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 。 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>参见</dt><dd>VoiceBank::cannotBackupImageFile(VoiceBank * voicebank) </dd></dl>

</div>
</div>
<a id="af4e0f50ba3b3d3cbe282d276c96b9890"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4e0f50ba3b3d3cbe282d276c96b9890">&#9670;&nbsp;</a></span>categoriesChanged</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::categoriesChanged </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">signal</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>管理的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的分类发生了改变 </p>
<p><a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 管理的任何一个 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的分类改变时该信号都会被触发。 </p><dl class="section see"><dt>参见</dt><dd>VoiceBank::categoryChanged() </dd></dl>

</div>
</div>
<a id="ac82de8ec4098cc8e9adfb54f8ac114da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac82de8ec4098cc8e9adfb54f8ac114da">&#9670;&nbsp;</a></span>categroiesAndLabelsChanged</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::categroiesAndLabelsChanged </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">signal</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>管理的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的目录或标签发生了改变 </p>
<p><a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 管理的任何一个 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的目录或标签改变时该信号都会被触发。 </p><dl class="section see"><dt>参见</dt><dd><a class="el" href="class_voice_bank_handler.html#af4e0f50ba3b3d3cbe282d276c96b9890" title="管理的 VoiceBank 的分类发生了改变">categoriesChanged()</a> </dd>
<dd>
<a class="el" href="class_voice_bank_handler.html#a3df32590a368ed7b16c93e436e66183d" title="管理的 VoiceBank 的标签发生了改变">labelsChanged()</a> </dd></dl>

</div>
</div>
<a id="a4a1eb83fdfb84afd6bc9585534103618"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a1eb83fdfb84afd6bc9585534103618">&#9670;&nbsp;</a></span>clear()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::clear </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>清除 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 中的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 列表。</p>
<p><a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 会自动 delete 所有 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 。</p>

</div>
</div>
<a id="a1166cedac9f017ad8f9482dbc06951b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1166cedac9f017ad8f9482dbc06951b0">&#9670;&nbsp;</a></span>count()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int VoiceBankHandler::count </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 已被托管的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的数量 </p>

</div>
</div>
<a id="afefc02d1ae6614bd953ec588736de376"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afefc02d1ae6614bd953ec588736de376">&#9670;&nbsp;</a></span>findIDByCategory()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QList&lt; int &gt; VoiceBankHandler::findIDByCategory </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&#160;</td>
          <td class="paramname"><em>category</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>在 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 管理的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 中按目录查找</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">category</td><td>要查找的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的目录。 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>查找到的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 的列表。 </dd></dl>
<dl class="section see"><dt>参见</dt><dd><a class="el" href="class_voice_bank_handler.html#a4ac62074207cf8e9cfd3767f3c8d2c3c">findIDByNameOrPath(const QString &amp;text) const</a> </dd>
<dd>
<a class="el" href="class_voice_bank_handler.html#a050d503d1b13d3e08b64d6f6ccf358b9">findIDByLabel(const QString&amp; label) const</a></dd></dl>

</div>
</div>
<a id="a050d503d1b13d3e08b64d6f6ccf358b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a050d503d1b13d3e08b64d6f6ccf358b9">&#9670;&nbsp;</a></span>findIDByLabel()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QList&lt; int &gt; VoiceBankHandler::findIDByLabel </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&#160;</td>
          <td class="paramname"><em>label</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>在 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 管理的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 中按标签查找</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">label</td><td>要查找的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的标签。 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>查找到的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 的列表。 </dd></dl>
<dl class="section see"><dt>参见</dt><dd><a class="el" href="class_voice_bank_handler.html#afefc02d1ae6614bd953ec588736de376">findIDByCategory(const QString &amp;category) const</a> </dd>
<dd>
<a class="el" href="class_voice_bank_handler.html#a050d503d1b13d3e08b64d6f6ccf358b9">findIDByLabel(const QString&amp; label) const</a></dd></dl>

</div>
</div>
<a id="a4ac62074207cf8e9cfd3767f3c8d2c3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ac62074207cf8e9cfd3767f3c8d2c3c">&#9670;&nbsp;</a></span>findIDByNameOrPath()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QList&lt; int &gt; VoiceBankHandler::findIDByNameOrPath </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&#160;</td>
          <td class="paramname"><em>text</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>在 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 管理的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 中按名字或路径查找</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">text</td><td>要查找的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的名称或路径。该函数采用部分匹配方式，即二者中有一个含有 text 即可。 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>查找到的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 的列表。 </dd></dl>
<dl class="section see"><dt>参见</dt><dd><a class="el" href="class_voice_bank_handler.html#afefc02d1ae6614bd953ec588736de376">findIDByCategory(const QString &amp;category) const</a> </dd>
<dd>
<a class="el" href="class_voice_bank_handler.html#a050d503d1b13d3e08b64d6f6ccf358b9">findIDByLabel(const QString&amp; label) const</a></dd></dl>

</div>
</div>
<a id="a9089baabda67b5bdff0b7341d9446720"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9089baabda67b5bdff0b7341d9446720">&#9670;&nbsp;</a></span>getIgnoredVoiceBankFolders()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QStringList VoiceBankHandler::getIgnoredVoiceBankFolders </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>获取扫描过程中已经被忽略的文件夹列表，仅在进行过扫描后有效。 </p>

</div>
</div>
<a id="a0d024fc6eb5ff21c5780434d3361d393"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d024fc6eb5ff21c5780434d3361d393">&#9670;&nbsp;</a></span>getIgnoreVoiceBankFolders()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QStringList VoiceBankHandler::getIgnoreVoiceBankFolders </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>获取忽略文件夹列表</p>
<p>忽略文件夹列表中的文件夹将在扫描时被直接忽略，但仍然会去搜寻其子文件夹。 </p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">待办事项:</a></b></dt><dd>实现使用*来防止子文件夹调用 </dd></dl>

</div>
</div>
<a id="af4c8113b0035231fe91ac947ff3f516e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4c8113b0035231fe91ac947ff3f516e">&#9670;&nbsp;</a></span>getMonitorFolders()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QStringList VoiceBankHandler::getMonitorFolders </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>获取监视文件夹列表</p>
<p>监视文件夹列表定义 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 去哪里寻找 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 所在的文件夹。监视文件夹应是 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的父文件夹。 根据扫描文件夹策略设定的不同，VoiceBank 文件夹的确定方式也会有不同。参见 <a class="el" href="class_voice_bank_handler.html#a3331895211e1c7195863d7e7f666b8d1">isUseOldFolderScan()</a> 。</p>

</div>
</div>
<a id="a992b72728aa87cfc35eaf91290b03e8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a992b72728aa87cfc35eaf91290b03e8b">&#9670;&nbsp;</a></span>getNotVoiceBankPaths()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QStringList VoiceBankHandler::getNotVoiceBankPaths </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>获取扫描过程中被程序认为不是音源文件夹的文件夹列表，仅在进行过扫描后有效。 </p>

</div>
</div>
<a id="a0d4d6bfff7f76537d359893338eec1a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d4d6bfff7f76537d359893338eec1a8">&#9670;&nbsp;</a></span>getOutsideVoiceBankFolders()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QStringList VoiceBankHandler::getOutsideVoiceBankFolders </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>获取外部音源文件夹列表</p>
<p>外部音源文件夹列表中的文件夹将在扫描时直接加入音源库列表中，不管其是否在监视文件夹内，不管其运行 VoiceBank::isVoiceBankPath(const QString &amp;path) 的结果是否为真。但是其仍然受忽略文件夹列表的限制。</p>

</div>
</div>
<a id="ae968da025ea5b5b2db605e2ac063de50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae968da025ea5b5b2db605e2ac063de50">&#9670;&nbsp;</a></span>getScannedSubFolders()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QStringList VoiceBankHandler::getScannedSubFolders </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>获取扫描过程中通过递归查找子文件夹找到的音源文件夹，仅在进行过扫描后有效。 </p>

</div>
</div>
<a id="a5e5861e9d18b8c0277d8c11067ee04a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e5861e9d18b8c0277d8c11067ee04a1">&#9670;&nbsp;</a></span>getThreadPoolMaxThreadCount()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int VoiceBankHandler::getThreadPoolMaxThreadCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>获得读取 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 所需信息时所用的最大线程数 </p>

</div>
</div>
<a id="abfaa532d3ce279cf17e15177a697897a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfaa532d3ce279cf17e15177a697897a">&#9670;&nbsp;</a></span>getVoiceBank()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_voice_bank.html">VoiceBank</a>* VoiceBankHandler::getVoiceBank </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>id</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>通过下标获得一个 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> *</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>需要的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 的数组下标 ( 0 &lt;= id &lt; <a class="el" href="class_voice_bank_handler.html#a1166cedac9f017ad8f9482dbc06951b0">count()</a> )。id 不在有效范围内时，返回一个空指针。 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>id 对应的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 。 </dd></dl>
<dl class="section see"><dt>参见</dt><dd><a class="el" href="class_voice_bank_handler.html#af7ca79ae9ef3674e0be3275373dd801d">getVoiceBankID(VoiceBank* voiceBank) const</a></dd></dl>

</div>
</div>
<a id="aad2a199b2020bec00409b47ec0a0e7c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad2a199b2020bec00409b47ec0a0e7c5">&#9670;&nbsp;</a></span>getVoiceBankHandler()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_voice_bank_handler.html">VoiceBankHandler</a> * VoiceBankHandler::getVoiceBankHandler </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 的工厂函数。调用此函数以获取 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 的实例。</p>
<p><a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 使用单件模式来保证程序中只有一份音源库列表，所以您应当使用本函数获取实例，而不是通过构造函数（您也无法这么做）。</p>

</div>
</div>
<a id="af7ca79ae9ef3674e0be3275373dd801d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7ca79ae9ef3674e0be3275373dd801d">&#9670;&nbsp;</a></span>getVoiceBankID()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int VoiceBankHandler::getVoiceBankID </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_voice_bank.html">VoiceBank</a> *&#160;</td>
          <td class="paramname"><em>voiceBank</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>通过 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 来获得相应下标</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">voiceBank</td><td>需要知道下标的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 。 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd><a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 对应的数组下标。 </dd></dl>
<dl class="section see"><dt>参见</dt><dd><a class="el" href="class_voice_bank_handler.html#abfaa532d3ce279cf17e15177a697897a">getVoiceBank(int id) const</a></dd></dl>

</div>
</div>
<a id="ae9ceb834a99c19975e7b8d578709d4cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9ceb834a99c19975e7b8d578709d4cf">&#9670;&nbsp;</a></span>getVoiceBanks()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QList&lt; <a class="el" href="class_voice_bank.html">VoiceBank</a> * &gt; VoiceBankHandler::getVoiceBanks </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>获取 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 保存的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 列表。 </p>

</div>
</div>
<a id="a3331895211e1c7195863d7e7f666b8d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3331895211e1c7195863d7e7f666b8d1">&#9670;&nbsp;</a></span>isUseOldFolderScan()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool VoiceBankHandler::isUseOldFolderScan </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>返回 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 是否使用旧式文件夹扫描策略</p>
<p>Leaf Open UTAU Qt 这部分代码的早期版本中，将监视文件夹的子文件夹直接作为 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的路径。这种策略与 UTAU 相同，但是在某些场景下不够实用。所以在较新版本的代码中， <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 将会递归查找监视文件夹的子文件夹来确定音源库所在的文件夹。 <br />
<a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 使用 VoiceBank::isVoiceBankPath(const QString &amp;path) 来确定一个文件夹是否是一个音源库文件夹。<br />
</p><dl class="section return"><dt>返回</dt><dd>如果使用旧式扫描策略，该函数返回 true ，否则返回 false 。</dd></dl>

</div>
</div>
<a id="a3df32590a368ed7b16c93e436e66183d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3df32590a368ed7b16c93e436e66183d">&#9670;&nbsp;</a></span>labelsChanged</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::labelsChanged </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">signal</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>管理的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的标签发生了改变 </p>
<p><a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 管理的任何一个 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 的标签改变时该信号都会被触发。 </p><dl class="section see"><dt>参见</dt><dd>VoiceBank::labelsChanged() </dd></dl>

</div>
</div>
<a id="a256ecd28588492543c58c81e5de9cc7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a256ecd28588492543c58c81e5de9cc7a">&#9670;&nbsp;</a></span>readVoiceBanksFromMonitorFolders()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::readVoiceBanksFromMonitorFolders </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>从监视文件夹中读取音源库。</p>
<p>在确定待读取文件夹列表时，程序会考虑是否递归查找、忽略文件夹列表、外部文件夹列表等。参见这些设置相关的函数以获取详情。</p>

</div>
</div>
<a id="a6e94fa8c8ebe579e3b09e58745b4f47a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e94fa8c8ebe579e3b09e58745b4f47a">&#9670;&nbsp;</a></span>setIgnoreVoiceBankFolders()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::setIgnoreVoiceBankFolders </td>
          <td>(</td>
          <td class="paramtype">const QStringList &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>设置忽略文件夹列表 </p>

</div>
</div>
<a id="abe98721a16906dae0e4cc2b171b8a97b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe98721a16906dae0e4cc2b171b8a97b">&#9670;&nbsp;</a></span>setMonitorFolders()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::setMonitorFolders </td>
          <td>(</td>
          <td class="paramtype">const QStringList &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>设定监视文件夹列表。将在 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 被析构时保存至 QSettings 。 </p>

</div>
</div>
<a id="a83c27c3593a9219ec1bb93427ac64838"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83c27c3593a9219ec1bb93427ac64838">&#9670;&nbsp;</a></span>setOutsideVoiceBankFolders()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::setOutsideVoiceBankFolders </td>
          <td>(</td>
          <td class="paramtype">const QStringList &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>设置外部音源文件夹列表。 </p>

</div>
</div>
<a id="a2859d9e483309cc8144d50493f93586c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2859d9e483309cc8144d50493f93586c">&#9670;&nbsp;</a></span>setThreadPoolMaxThreadCount()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::setThreadPoolMaxThreadCount </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxCount</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>设置读取 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 所需信息时所用的最大线程数</p>
<p><a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 使用多个线程来读取 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 。这能节省时间并更好的利用现代处理器的性能。<br />
您可以通过本函数来修改 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 内部的线程池的最大线程数来优化性能。但请务必在明白您在做什么的时候使用。 </p><dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">maxCount</td><td>新的最大线程数</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac6ba96b7b6e9b9f0edc46e51bec5d73f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6ba96b7b6e9b9f0edc46e51bec5d73f">&#9670;&nbsp;</a></span>setUseOldFolderScan()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::setUseOldFolderScan </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>设置 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 是否使用旧式文件夹扫描策略 </p>

</div>
</div>
<a id="af2df9b8d0f22ba390ae98bfc7e30fd53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2df9b8d0f22ba390ae98bfc7e30fd53">&#9670;&nbsp;</a></span>sort()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::sort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_voice_bank_handler.html#ab5d3b76a0d5e81eceac3221cfc9115f5">VoiceBankHandler::SortableInformationID</a>&#160;</td>
          <td class="paramname"><em>sortWhat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Qt::SortOrder&#160;</td>
          <td class="paramname"><em>order</em> = <code>Qt::AscendingOrder</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>对 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 内的列表进行排序</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sortWhat</td><td>对哪项信息进行排序 </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">order</td><td>以何种顺序进行排序 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>参见</dt><dd>enum class <a class="el" href="class_voice_bank_handler.html#ab5d3b76a0d5e81eceac3221cfc9115f5" title="可供排序的信息列列表">SortableInformationID</a></dd></dl>

</div>
</div>
<a id="af201cba426bff64f22cf61aa405f5ad0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af201cba426bff64f22cf61aa405f5ad0">&#9670;&nbsp;</a></span>useOldFolderScanChanged</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::useOldFolderScanChanged </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">signal</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>“是否使用文件夹扫描策略”发生了改变 </p>
<dl class="section see"><dt>参见</dt><dd><a class="el" href="class_voice_bank_handler.html#a3331895211e1c7195863d7e7f666b8d1">isUseOldFolderScan()</a> </dd></dl>

</div>
</div>
<a id="a695058e6e01941261beb305d8e633e97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a695058e6e01941261beb305d8e633e97">&#9670;&nbsp;</a></span>voiceBanksReadDone</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void VoiceBankHandler::voiceBanksReadDone </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">signal</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>所有 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 都已经读取完毕 </p>
<p>所有提交给 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 读取的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> 都已经读取完毕。建议在此信号触发之后再使用 <a class="el" href="class_voice_bank_handler.html" title="用于管理一系列VoiceBank。">VoiceBankHandler</a> 管理的 <a class="el" href="class_voice_bank.html" title="用于表示一个音源库">VoiceBank</a> * 。 </p><dl class="section see"><dt>参见</dt><dd><a class="el" href="class_voice_bank_handler.html#a2245b6b5fd65a282cc9c5eb5675bbf23" title="一个 VoiceBank 读取完毕。">aVoiceBankReadDone(VoiceBank* voicebank)</a> </dd></dl>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>VoiceBankUtils/<a class="el" href="voicebankhandler_8h_source.html">voicebankhandler.h</a></li>
<li>VoiceBankUtils/voicebankhandler.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>
